package com.woshua.scollmodel;

import android.content.Context;
import android.graphics.Color;
import android.support.annotation.Nullable;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.view.View;

public class ScrollRedView extends View {
    private float startX;
    private float startY;

    public ScrollRedView(Context context) {
        super(context);

        initView();
    }

    public ScrollRedView(Context context, @Nullable AttributeSet attrs) {
        super(context, attrs);
        initView();
    }

    public ScrollRedView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
        initView();
    }

    private void initView() {
        setBackgroundColor(Color.RED);
    }

    @Override
    public boolean onTouchEvent(MotionEvent event) {

        switch (event.getAction()) {
            case MotionEvent.ACTION_DOWN:
                startX = event.getX();
                startY = event.getY();
                break;
            case MotionEvent.ACTION_MOVE:
                int offsetX = (int) (event.getX() - startX);
                int offsetY = (int) (event.getY() - startY);

                //第一种移动方式
//                ((ViewGroup) getParent()).scrollBy(- offsetX,-offsetY);
//                第二种方式移动控件
//                layout(getLeft()+offsetX,
//                        getTop()+offsetY,
//                        getRight()+offsetX,
//                        getBottom()+offsetY);
//                第三种移动控件的方式
                offsetLeftAndRight(offsetX);
                offsetTopAndBottom(offsetY);


                break;
            case MotionEvent.ACTION_UP:
                break;
            default:
                break;
        }

        return true;
    }
}
